Distribution systems, which distribute a plurality of tasks generated by dividing a job into a plurality of computers (hereinafter, processing servers) and execute the tasks, have been developed. The processing server accepts the allocation of a new task when it becomes in a state where it can executes a task. In such a type of distribution system, new tasks are allocated in order from processing servers in which a task has ended, and thus a high-speed processing server is likely to be allocated more tasks. As a result, the execution efficiency of the job is increased.
The related arts disclosing a technique for allocating a task to a processing server and a technique related thereto includes Non-Patent Document 1 and Patent Documents 1 to 4. Non-Patent Document 1 discloses a technique for reducing a time required for processing a task being in execution. Specifically, first, a time required for processing a task being executed on a processing server is calculated for two cases of 1) a case where the execution of the task is continued as it is and 2) a case where the task is restarted. The task is restarted when the required time become shorter by restarting the task.
Patent Documents 1 and 2 disclose a technique of statically calculating a task allocation schedule based on a load index of the tasks and a performance index of the processing server which are measured in advance. Patent Document 3 discloses a technique of dividing a job into a plurality of tasks and processing the tasks in parallel by allocating the divided tasks to a plurality of processing servers, when a job completion time estimated based on a progress condition of the job does not satisfy a required job completion time. Patent Document 4 discloses a technique of allocating a task to a high performance processing server based on a static performance index value, which is calculated based on the configuration of the processing server.